Skip to content

[pull] main from MetaMask:main#568

Merged
pull[bot] merged 1 commit intoReality2byte:mainfrom
MetaMask:main
May 7, 2026
Merged

[pull] main from MetaMask:main#568
pull[bot] merged 1 commit intoReality2byte:mainfrom
MetaMask:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 7, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

…ureReady` and use it in `MultichainAccountService` (#8715)

## Explanation

Now that we have a central place for Snap accounts logic, we can move
the `SnapPlatformWatcher` so we can use it (with an action) on the
`MultichainAccountService`.

Also adding a new `:ensureReady(snapId)` action that will be improved in
the future to make sure everything is ready when interacting with an
account management Snap (migration, platform is ready, keyring is ready,
etc...)

## References

N/A

## Checklist

- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] I've communicated my changes to consumers by [updating changelogs
for packages I've
changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md)
- [ ] I've introduced [breaking
changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md)
in this PR and have prepared draft pull requests for clients and
consumer packages to resolve them

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Introduces breaking messenger/API changes around Snap readiness (new
required `SnapAccountService:ensureReady`, removed
`MultichainAccountService:ensureCanUseSnapPlatform`), which can break
consumers and affect Snap-based account operations if integration is
incomplete.
> 
> **Overview**
> **Moves Snap platform readiness checks out of
`@metamask/multichain-account-service` and into
`@metamask/snap-account-service`.** `SnapAccountService` now owns
`SnapPlatformWatcher`, adds a new
`SnapAccountService:ensureReady(snapId)` messenger action, and exposes
config for onboarding gating and Snap-keyring wait timeout.
> 
> **Updates multichain Snap providers to use the new readiness flow.**
`MultichainAccountService` drops its `ensureCanUseSnapPlatform`
method/action and related config/types, and
`SnapAccountProvider.ensureCanUseSnapPlatform()` is renamed to
`ensureReady()` and now calls `SnapAccountService:ensureReady`. Tests,
messenger policies, dependency graph, and package deps/tsconfig
references are updated accordingly.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
c41e954. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@pull pull Bot locked and limited conversation to collaborators May 7, 2026
@pull pull Bot added the ⤵️ pull label May 7, 2026
@pull pull Bot merged commit ab58df0 into Reality2byte:main May 7, 2026
0 of 4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant